package com.cykj.mapper;

import com.cykj.pojo.CyAdmin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AdminMapper {
    int getCount();
    int deleteUserByIds(@Param("ids") List<Integer> ids);
    //int addUserByData(@Param("data") List<Object> data);
    List<CyAdmin> selectByData(@Param("sort") int sort,
                               @Param("value") String value,
                               @Param("pageCurr") int pageCurr,
                               @Param("pageSize") int pageSize);


    CyAdmin login(@Param("acc") String account, @Param("pwd") String pwd);
    List<CyAdmin> getAdmins();
    int register(@Param("acc") String account, @Param("pwd") String pwd, @Param("name") String name, @Param("roleId") int roleId);
    int forgetPwd(@Param("acc") String account, @Param("name") String name, @Param("newPwd") String newPwd, @Param("roleId") int roleId);
    String getFace(int id);
    int alterPwd(@Param("id") int id, @Param("newPwd") String newPwd);

    /**
     * 一个为先前的展示状态，一个为科室的id
     *
     * @return
     */
    int changeStatus(@Param("proStatus") int proStatus, @Param("adminId") int adminId);
    /**
     * 删除某个工作人员
     *
     * @param adminId ID
     * @return
     */
    int deleteAdmin(int adminId);

    /**
     * 修改前看一下修改的信息是否有变化
     * @param id
     * @param name
     * @param account
     * @param departmentName
     * @param roleName
     * @return
     */
    int alterIsExist(@Param("adminId") int id,
                     @Param("adminName") String name,
                     @Param("adminAccount") String account,
                     @Param("departmentName") String departmentName,
                     @Param("roleName") String roleName);
    /*
    * 查询要修改/添加的科室是否存在*/
    String alterDepartIsExist(String departmentName);
    /*
    * 查询要修改/添加的角色是否存在
    * */
    String alterRoleIsExist(String roleName);
    int alterAdmin(@Param("adminId") int id,
                   @Param("adminName") String name,
                   @Param("adminAccount") String account,
                   @Param("adminDepartmentId") int adminDepartmentId,
                   @Param("adminRoleId") int adminRoleId);
    //添加人员
    int addCommit(@Param("adminAccount") String adminAccount,
                  @Param("adminPwd") String adminPwd,
                  @Param("adminName") String adminName,
                  @Param("departmentId") int departmentId,
                  @Param("roleId") int roleId,
                  @Param("status") int status);
    int addCommitIsExist(@Param("adminAccount") String adminAccount,
                         @Param("adminPwd") String adminPwd,
                         @Param("adminName") String adminName,
                         @Param("departmentId") int departmentId,
                         @Param("roleId") int roleId
    );
}
